package cn.gemiman.daoyi.module.iot.open.jhl.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

@Schema(description = "管理后台 - 实时数据获取 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class DeviceCurrentDataMsgReqVO extends InnoprojhlOpenApiReqBaseVO {

    @Schema(description = "设备唯一标识：设备 mac 地址", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "设备唯一标识不能为空")
    private String deviceId;
    @Schema(description = "截止时间：时间戳，单位为秒，必须大于当前时间,最大为当前时间+30分钟，不传默认为 5 分钟")
    private Long deadline;
    @Schema(description = "发送频率：2-15 之间，不传默认为 6，代表设备每 6 秒发送一次实时数据")
    private Integer frequency;
    @Schema(description = "持续推送开关：0 为关闭，1 为开启，默认 0。开启后设备联网后将一直处于推送状态，deadline 将失效。")
    private Integer keepPush = 1;
    @Schema(description = "采集频率：713 设备请忽略该参数，1-300秒，默认 1 秒，注意:采集频率必须是发送频率的因数：如发送频率是 8 则采集频率可以是 1,2,4,8；如果发送频率是 5 则采集频率可以是：1,5。如果设置采集频率非发送率的因数则采用默认采集频率")
    private Long collectFrequency;
}
